In manufacturing and utilizing integrated circuits (ICs) such as programmable ICs, it is important that the programmable ICs operate properly in a system. Example programmable ICs include field programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs), and the like, including various system-on-chip (SoC) implementations of such devices having embedded processing systems. When a completed integrated circuit malfunctions after it has been installed in a system, such as a consumer electronics product, the malfunction of the integrated circuit may cause the entire product to fail. As programmable ICs are manufactured according to smaller dimensions, defects in some of the circuits are becoming more common. Further, the increased complexity of programmable ICs, such as an increased number of layers, has also increased the possibility for electrical faults. Finally, the die size of programmable ICs has also continued to increase, and therefore, has increased the likelihood of defects.
Programmable ICs are typically tested after fabrication. In order to avoid causing problems for end users, a programmable IC is generally discarded if it contains defects that affect the active logic. The percentage of usable ICs is called the “yield,” because it indicates the fraction of usable ICs in a manufactured lot. The increase in programmable IC size and density has led to an increase in the percentage of defective dice, and a corresponding decrease in product yield. A low yield has a significant economic impact on programmable IC providers. While dice having gross defects that cause the failure of an entire programmable device should be discarded, dice having localized defects that cause the failure of small portions of the programmable device circuitry may be salvaged by using only the portion of the device not having defects. One known method for using partially defective programmable devices is to sort out those devices that are defective only in an isolated function or area. The programmable device provider may sell these partially defective devices to a customer at a reduced price, rather than discarding them.
While such a use of defective programmable devices may increase the yield, there is also an associated cost of managing the defective devices. Because defects may be present in different locations for different devices, managing defective integrated circuits may be time consuming and expensive. Integrated circuits are commonly binned according to performance, such as operating speed, as well as for pass versus fail. Defective integrated circuits may be binned according to the locations of defects, for example. Consequently, each of the bins of integrated circuits having different defects are typically separately managed. Such a management obligation may be costly for a producer of programmable devices and increase the cost of selling the defective programmable devices.